namespace Brjnk.GpxExplorer.Workspace.BitmapExport
{
    using Brjnk.Common;

    /// <summary>
    /// </summary>
    public class UserLabelStyle : InheritableValues
    {
        static UserLabelStyle()
        {
            LabelStyle.DefineInheritableValue("Layout", UserLabelLayout.ImageAndText);
            LabelStyle.DefineInheritableValue("MaxWidth", 200.0);
            LabelStyle.DefineInheritableValue("ImageSize", 64.0);
        }

        public UserLabelStyle() { }

        public UserLabelStyle(UserLabelStyle parent)
            : base(parent)
        { }

        public UserLabelLayout Layout
        {
            get { return base.GetValue<UserLabelLayout>("Layout"); }
            set { base.SetValue("Layout", value); }
        }

        public double MaxWidth
        {
            get { return base.GetValue<double>("MaxWidth"); }
            set { base.SetValue("MaxWidth", value); }
        }

        public double ImageSize
        {
            get { return base.GetValue<double>("ImageSize"); }
            set { base.SetValue("ImageSize", value); }
        }

        public bool IsLayoutLocal
        {
            get { return base.IsLocalGetter("Layout"); }
            set { base.IsLocalSetter("Layout", value); }
        }

        public bool IsMaxWidthLocal
        {
            get { return base.IsLocalGetter("MaxWidth"); }
            set { base.IsLocalSetter("MaxWidth", value); }
        }

        public bool IsImageSizeLocal
        {
            get { return base.IsLocalGetter("ImageSize"); }
            set { base.IsLocalSetter("ImageSize", value); }
        }
    }
}